function Foo(a, b, c=1){
	log('Foo----', a, b, c);
	this.innerPropertyCommonA = 'Foo this.innerPropertyCommonA';
	this.innerPropertyFooA = 'Foo this.innerPropertyFooA';
	this.innerFuncCommonA = function(fooInnerFuncCommonA) {log('Foo this.innerFuncCommonA()');};
	this.innerFuncFooA = function(fooInnerFuncFooA) {log('Foo this.innerFuncFooA()');};
}

Foo.staticPropertyCommonCount = 'Foo.staticPropertyCommonCount';
Foo.staticPropertyFooCount = 'Foo.staticPropertyFooCount';
Foo.staticFuncCommonA = function(FooStaticFuncCommonA) {log('Foo.staticFuncCommonA()');};
Foo.staticFuncFooA = function(FooStaticFuncFooA) {log('Foo.staticFuncFooA()');};

Foo.prototype.prototypePropertyCommonA = 'Foo.prototype.prototypePropertyCommonA';
Foo.prototype.prototypePropertyFooA = 'Foo.prototype.prototypePropertyFooA';
Foo.prototype.prototypeFuncCommonA = function(FooPrototypePrototypeFuncCommonA) {log('Foo.prototype.prototypeFuncCommonA()');};
Foo.prototype.prototypeFuncFooA = function(FooPrototypePrototypeFuncFooA) {log('Foo.prototype.prototypeFuncFooA()');};


function Bar(a, b, c=1){
	log('Bar----', a, b, c);
	this.innerPropertyCommonA = 'Bar this.innerPropertyCommonA';
	this.innerPropertyBarA = 'Bar this.innerPropertyBarA';
	this.innerFuncCommonA = function(BarInnerFuncCommonA) {log('Bar this.innerFuncCommonA()');};
	this.innerFuncBarA = function(BarInnerFuncBarA) {log('Bar this.innerFuncBarA()');};
}

Bar.staticPropertyCommonCount = 'Bar.staticPropertyCommonCount';
Bar.staticPropertyBarCount = 'Bar.staticPropertyBarCount';
Bar.staticFuncCommonA = function(BarStaticFuncCommonA) {log('Bar.staticFuncCommonA()');};
Bar.staticFuncBarA = function(BarStaticFuncBarA) {log('Bar.staticFuncBarA()');};

Bar.prototype.prototypePropertyCommonA = 'Bar.prototype.prototypePropertyCommonA';
Bar.prototype.prototypePropertyBarA = 'Bar.prototype.prototypePropertyBarA';
Bar.prototype.prototypeFuncCommonA = function(BarPrototypePrototypeFuncCommonA) {log('Bar.prototype.prototypeFuncCommonA()');};
Bar.prototype.prototypeFuncBarA = function(BarPrototypePrototypeFuncBarA) {log('Bar.prototype.prototypeFuncBarA()');};